package cn.iocoder.yudao.module.member.dal.dataobject.memberconf.confmaterial;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.*;

import java.math.BigDecimal;

/**
 * 物料策略配置 DO
 *
 * @author doock
 */
@TableName("member_conf_material")
@KeySequence("member_conf_material_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class MemberConfMaterialDO extends BaseDO {

    /**
     * 主键ID
     */
    @TableId
    private Long id;
    /**
     * 会员配置id
     */
    private Long memberConfId;
    /**
     * 策略类型：实物料/锁价买料/锁价卖料/存料/提料
     */
    private Integer policyType;
    /**
     * 金属类型：黄金/铂金/钯金/白银/公斤条
     */
    private Integer metalType;
    /**
     * 定金（元/克）
     */
    private BigDecimal depositWeight;
    /**
     * 单笔限制（克）
     */
    private BigDecimal weightSingleLimit;
    /**
     * 累计限制（克）
     */
    private BigDecimal weightTotalLimit;
    /**
     * 延期费（元/千克/天）
     */
    private BigDecimal delayFee;
    /**
     * 工费（元/克）
     */
    private BigDecimal processingFee;
    /**
     * 附加费（百分比）
     */
    private BigDecimal additionalFee;
    /**
     * 免息天数
     */
    private Integer interestFreeDays;
    /**
     * 是否允许小额下单
     */
    private Boolean allowSmallOrder;
    /**
     * 审核即付定金比例（百分比）
     */
    private BigDecimal auditDepositRatio;

}